home *** CD-ROM | disk | FTP | other *** search
/ Get a Grip Tennis by Wilson / Get a Grip Tennis by Wilson.iso / pc / wilson.dxr / Internal_58_MPEG Advance Xtra Video Slider.ls < prev    next >
Encoding:
Text File  |  2003-08-12  |  4.5 KB  |  124 lines

  1. property pDuration, pMovieTime, videoSprite, extentSprite, hiliteMember, tracking, newLocH, newLocV, dynamic, min, max, valrange, minScreen, maxScreen, currentScreenVal, extentlength, useROimages, pleftOffset, prightOffset, CurrentVal
  2.  
  3. on getPropertyDescriptionList
  4.   if the currentSpriteNum = 0 then
  5.     memdefault = 0
  6.   else
  7.     memref = sprite(the currentSpriteNum).member
  8.     memdefault = member(member(memref).memberNum + 1)
  9.   end if
  10.   description = [:]
  11.   addProp(description, #videoSprite, [#default: 1, #format: #integer, #comment: "Video Sprite:"])
  12.   addProp(description, #extentSprite, [#default: 1, #format: #integer, #comment: "Extent Sprite:"])
  13.   addProp(description, #pleftOffset, [#comment: "Left offset for slider: ", #format: #integer, #default: 10])
  14.   addProp(description, #prightOffset, [#comment: "Right offset for slider: ", #format: #integer, #default: 10])
  15.   addProp(description, #useROimages, [#comment: "Use Rollover images?", #format: #boolean, #default: 0])
  16.   addProp(description, #hiliteMember, [#default: memdefault, #format: #graphic, #comment: "Hilite Member:"])
  17.   addProp(description, #dynamic, [#default: 1, #format: #boolean, #comment: "Dynamic:"])
  18.   return description
  19. end
  20.  
  21. on getBehaviorDescription
  22.   return "Drag to slider 'handle' to enable control of video play time.  Requires additional 'extent' member which limits the handle travel range." & RETURN & "PARAMETERS:" & RETURN & "ΓÇó Video Sprite - Enter the number of sprite channel in which video is displayed." & RETURN & "ΓÇó Extent Sprite -  Enter the number of sprite channel that contains the 'extent' sprite." & RETURN & "ΓÇó Hilite Member -  Member to display while handle is being dragged." & RETURN & "ΓÇó Dynamic - If set, video time will be updated while handle is dragged, else when handle is released."
  23. end
  24.  
  25. on compute_val me
  26.   val = 0.0
  27.   val = float(me.currentScreenVal) / float(me.extentlength)
  28.   val = val * me.valrange
  29.   val = val + me.min
  30.   return val
  31. end
  32.  
  33. on send_the_val me, val
  34.   pMovieTime = val * pDuration
  35.   seek(sprite(videoSprite), pMovieTime)
  36. end
  37.  
  38. on beginSprite me
  39.   pDuration = sprite(videoSprite).duration
  40.   me.min = 0.0
  41.   me.max = 1.0
  42.   handle = me.spriteNum
  43.   me.tracking = 0
  44.   me.newLocH = the locH of sprite handle
  45.   me.newLocV = the locV of sprite handle
  46.   me.newLocV = the locV of sprite me.extentSprite
  47.   me.minScreen = the left of sprite me.extentSprite + pleftOffset
  48.   me.maxScreen = the right of sprite me.extentSprite - prightOffset
  49.   set the locH of sprite handle to me.minScreen
  50.   set the locV of sprite handle to me.newLocV
  51.   me.valrange = me.max - me.min
  52.   me.extentlength = me.maxScreen - me.minScreen
  53. end
  54.  
  55. on prepareFrame me
  56.   if tracking then
  57.     handle = me.spriteNum
  58.     extent = me.extentSprite
  59.     me.newLocH = the mouseH
  60.     me.newLocV = the locV of sprite extent
  61.     if me.newLocH < minScreen then
  62.       me.newLocH = minScreen
  63.     end if
  64.     if me.newLocH > maxScreen then
  65.       me.newLocH = maxScreen
  66.     end if
  67.     me.currentScreenVal = me.newLocH - me.minScreen
  68.     set the locH of sprite handle to me.newLocH
  69.     set the locV of sprite handle to me.newLocV
  70.     if me.dynamic then
  71.       send_the_val(me, compute_val(me))
  72.       sendAllSprites(#setPPVis, 0)
  73.     end if
  74.   else
  75.     if float(pDuration) = 0 then
  76.       pDuration = sprite(videoSprite).duration
  77.     end if
  78.     if float(pDuration) <> 0 then
  79.       x = float(sprite(videoSprite).currentTime) / float(pDuration)
  80.     end if
  81.     handle = me.spriteNum
  82.     extent = me.extentSprite
  83.     ScreenX = minScreen + (x * (maxScreen - minScreen))
  84.     me.newLocH = ScreenX
  85.     me.newLocV = the locV of sprite extent
  86.     if me.newLocH < minScreen then
  87.       me.newLocH = minScreen
  88.     end if
  89.     if me.newLocH > maxScreen then
  90.       me.newLocH = maxScreen
  91.     end if
  92.     me.currentScreenVal = me.newLocH - me.minScreen
  93.     set the locH of sprite handle to me.newLocH
  94.     set the locV of sprite handle to me.newLocV
  95.   end if
  96. end
  97.  
  98. on mouseDown me
  99.   tracking = 1
  100.   if useROimages then
  101.     temp = the member of sprite me.spriteNum
  102.     set the member of sprite the spriteNum of me to member(me.hiliteMember)
  103.     me.hiliteMember = temp
  104.   end if
  105. end
  106.  
  107. on mouseUp me
  108.   tracking = 0
  109.   if useROimages then
  110.     temp = the member of sprite me.spriteNum
  111.     set the member of sprite the spriteNum of me to member(me.hiliteMember)
  112.     me.hiliteMember = temp
  113.   end if
  114. end
  115.  
  116. on mouseUpOutSide me
  117.   tracking = 0
  118.   if useROimages then
  119.     temp = the member of sprite me.spriteNum
  120.     set the member of sprite the spriteNum of me to member(me.hiliteMember)
  121.     me.hiliteMember = temp
  122.   end if
  123. end
  124.